package com.dxf.sysadmin.utils;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.dxf.sysadmin.entity.EvaluateBo;
import com.dxf.sysadmin.entity.EvaluteItem;
import com.dxf.sysadmin.entity.EvaluteTarget;
import com.dxf.sysadmin.mapper.AddEvaluateItemMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
@Slf4j
public class ExcelStListener extends AnalysisEventListener<EvaluateBo> {

    private static AddEvaluateItemMapper addEvaluateItemMapper; //关键2

    @Autowired  //关键3
    public void setAddEvaluateItemMapper (AddEvaluateItemMapper addEvaluateItemMapper){
        ExcelStListener.addEvaluateItemMapper = addEvaluateItemMapper;
    }
    public long id = 0;
    public double code = 0;
    public int sortCode = 10;
    public int sortCode1 = 10;
    /*
     * 读取每行调用
     * */
    @Override
    public void invoke(EvaluateBo evaluateBo, AnalysisContext analysisContext) {
        long type= addEvaluateItemMapper.SelectEvaId(30);
        System.out.println(":"+evaluateBo);
        if(!(evaluateBo.getContent()==null)){
            id=0;
            sortCode1 = 10;
            EvaluteTarget evaluateItem = new EvaluteTarget();
            evaluateItem.setParentId(id);
            evaluateItem.setName(evaluateBo.getContent());
            evaluateItem.setWeight(evaluateBo.getPower());
            evaluateItem.setTypeId(type);
            evaluateItem.setSortCode(sortCode);
            addEvaluateItemMapper.addEvaluteTarget(evaluateItem);
            id=evaluateItem.getId();
            code = 100;
            sortCode+=10;
        }
        if(!(evaluateBo.getCon()==null)){
            EvaluteItem evaluteIt = new EvaluteItem();
            evaluteIt.setContent(evaluateBo.getCon());
            evaluteIt.setTargetId(id);
            evaluteIt.setScore(code);
            evaluteIt.setSortCode(sortCode1);
            code -=20;
            addEvaluateItemMapper.addEvaluateIt(evaluteIt);
            sortCode1+=10;
        }
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }
}

